package com.myway.dto.user.domain;

import java.util.HashMap;

/**
 * 用户子类型
 * @author Administrator
 *
 */
public enum SubUserConstants 
{
	//USERA("普通用户A"),USERB("普通用户B"),USERC("普通用户C"),USERD("普通用户D"),USERE("普通用户E"),USERF("普通用户F"),USERG("大客户用户");
	USERA("普通用户A"),USERB("普通用户B"),USERC("普通用户C"),USERD("普通用户D"),USERE("普通用户E"),USERF("普通用户F"),USERH("普通用户H"),
	USERJ("普通用户J"),USERK("普通用户"),USERL("普通用户L"),USERM("普通用户M"),USERN("普通用户N"),USERG("大客户用户"),
	USER_I("代理人I"),USER_II("代理人II"),USER_III("代理人III"),USER_IV("代理人IV"),USER_V("代理人V"),USER_VI("代理人VI"),
	USER_VII("代理人VII"),USER_VIII("代理人VIII");
	/**
	 * 别名
	 */
	private final String alias;
	private static HashMap<String, SubUserConstants> map = new HashMap<String, SubUserConstants>();

	static {
		for (SubUserConstants e : SubUserConstants.values()) {
			map.put(e.alias, e);
		}
	}

	/**
	 * @param alias alias
	 */
	SubUserConstants(String alias) {
		this.alias = alias;
	}

	/**
	 * @return String
	 */
	@Override
	public String toString() {
		return this.alias;

	}

	/**
	 * Return a <code>UserConstants</code> object holding the value of specified alias name
	 * @param alias the alias name of the type
	 * @return a <code>AgentTypeEnum</code> object holding the value represented by the alias name argument
	 */
	public static SubUserConstants valueOfAlias(String alias) {
		SubUserConstants type = map.get(alias);

		if (type == null) {
			throw new IllegalArgumentException(
					"Unknown Agent type enum alias [" + alias + "]");
		}

		return type;
	}
	
}
